The present invention relates to the processing of an audio signal for the simulation of acoustic reverberation in general and more particularly for application to musical instruments and vocals. The present art is especially adaptable to the electronic processing of audio signals in order to add user desired reverberation effect(s). Artificial reverberation simulates the ambience of a sound within an enclosed space, such as a large room or music hall.
Reverberation is commonly added to audio signals to increase the listener's perception of ambience and spaciousness. Natural reverberation occurs when a sound is radiated within an enclosed space; the sound reflects off of the various walls and objects within the room, traveling back to the listener later in time. This reflected sound, or reverberation, decays exponentially with time due to the sound's loss of energy as it is transmitted outward into a three-dimensional space. Typically, the sound decays more quickly at high frequencies due to the absorption of these frequencies by air and wall surfaces.
The sonic qualities of artificial reverberation are far easier to control than those of natural reverberation; and for this reason, artificial reverberation is commonly used in the creation, recording, and reproduction of sound. Artificial reverberation emulates natural reverberation by employing a combination of delays, frequency response filtering, and feedback. These mechanisms have been implemented by various means, including electromechanical, analog electronic, and digital electronic. Electromechanical means includes spring and plate reverberation. Analog electronic means includes the use of bucket-brigade delays (BBDs). Digital electronic means includes implementation with embedded digital hardware such as digital signal processors (DSPs), application-specific integrated circuits (ASICs), and software implementation within a general-purpose processing platform such as a personal computer.
Each of these various means of implementation have advantages and disadvantages relating to sound quality, cost, size, ease of manufacture, etc. Typically, cost is the primary consideration when selecting a reverberation device to be embedded within a consumer-grade audio product or entry-level professional product. Prior art spring reverberators (i.e. mechanical) are still commonly found in devices such as guitar amplifiers, because they are the lowest cost option. However, digital electronic reverberators are growing in popularity because of recent reductions in cost, size, and a generally superior sound quality. Creation or generation of high-quality, natural-sounding artificial reverberation almost exclusively employs digital circuitry, consisting of both memory for delay lines and computational logic for multiplication and summation. Many artificial reverberation processors are implemented using DSPs (digital signal processors) or similar microprocessors which are capable of high-speed arithmetic processing. The aforesaid DSPs are designed to perform a variety of processing algorithms and are not cost-optimized for simply generating reverberation. A cost-optimized digital solution requires an ASIC; however, this solution requires significant up-front engineering effort and cost. As such, the implementation of a simple reverb processor is more expensive than it needs to be.
Digital reverberator algorithms employ one or more delay lines which are typically configured as a combination of early reflections, comb filters, and all-pass filters. Early reflection filters are non-uniformly-decimated, non-recursive filters intended to simulate the initial 100 ms or so of the impulse response of reverberation. Comb filters in this context are recursive filters whose delayed outputs are fed back, weighted and summed with their inputs. The comb filter delays are typically between 50 ms and 100 ms in length and often embed a low-pass filter at their outputs to simulate the high-frequency absorption of sound in air. All-pass filters in this context are first-order filters with delay lengths anywhere between a few milliseconds to over 100 ms. The aforesaid filters are often combined in cascade and/or in parallel with feedback to create the reverberator algorithm. Often, multiple filter types are employed to overcome the inherent deficiencies of each and to provide adequate sound quality for a variety of input signals. Unfortunately, this results in the need for significant delay memory and computational resources, which further limits the cost reduction of digital reverberators.
Stautner and Puckette within the reference “Designing Multi-Channel Reverberators,” (Computer Music Journal, vol. 6. no. 1, pp. 52-65, Spring 1982) introduced the feedback delay network (FDN), where the outputs of multiple delay lines are fed back through a feedback matrix before summation with the delay line inputs. In prior art parallel-comb filter reverberators, the output of each delay fed back only to its own input, described by the system equation:y=z−τ(x+gy)where x is the input, y is the output, τ is the delay in samples, g is the feedback coefficient, and z=ejω in Fourier space. FDN reverberators use a multiple of parallel delays whose outputs may feed back to multiple delay line inputs; however, certain conditions must be met to ensure stability of the network. That is the network cannot be allowed to satisfy the Barkhausen criteria of a unity loop gain and a multiple of 2π loop phase shift. Using matrices, the authors generalize the comb filter and thereby describe a plurality of parallel comb filters with the system equationY=D(X+GY)where X is a vector of N inputs, Y is a vector of N outputs, G is an N-by-N matrix of feedback coefficients, and D is a diagonal N-by-N matrix of delays in the form
  D  =      [                                        z                          -                              τ                1                                                                                                                                                              0                                                                                                  z                          -                              τ                2                                                                                                                                                                                                                                                                          ⋱                                                                                      0                                                                                                                                      z                          -                              τ                N                                                          ]  Furthermore, the authors show that one way to ensure system stability is forG=AUwhere the scalar |A|<1 and U is a unitary N-by-N matrix. In other words, U satisfies the condition
            ∑              k        =        1            N        ⁢                  U        ik            ⁢              U        jk              =      {                            1                                                                    if                ⁢                                                                  ⁢                i                            =              j                        ;                                                0                          otherwise                    For the reverberation to have more natural-sounding decay, low-pass filters are placed after each delay to simulate the high-frequency absorption of sound within ambient air. This is common in FDN reverberators and is further described herein.
Jot and Chaigne within the reference “Digital Delay Networks for Designing Artificial Reverberators,” (Proc. 90th Conv. Audio Eng. Soc., preprint 3030, February 1991) expand on the work of Stautner and Puckette by presenting a more general z-domain transfer function for a single-input, single-output reverberator:H(z)=cT·[D(z−1)−G]−1·b where D(z−1) and G are the delay and feedback matrices as defined by Stautner and Puckette, b is an N-length vector that weights the input signal before injection into the reverberator network, and c is an N-length vector that weights the reverberator outputs before mixing with the input signal. The signal flow diagram for the aforesaid transfer function is shown in FIG. 1.
In U.S. Pat. No. 5,491,754, entitled Method and System for Artificial Spatialisation of Digital Audio Signals, Jot et al. disclose a method and system for artificial spatialization of digital audio signals using an FDN. Jot discloses several embodiments which include parallel delay elements, each with local unit feedback and with global feedback of the summation of all delay outputs attenuated by −2/N, where N is the number of delay elements. This embodiment sums the input signal with all of the delay element inputs and sources output as the sum of all delay output. Furthermore, Jot discloses several embodiments that compute the unitary matrix U as
  U  =            J      N        -                  2        N            ·              V        N        T            ·              V        N            where JN is an N-by-N permutation of the identity matrix and VN is an N-length row vector of all ones. One of Jot's embodiments simply uses an identity matrix in place of JN, so that the feedback matrix becomes the following:
  U  =      [                                        1            -                          2              N                                                                                                            -                          2              N                                                                                                            ⋱                                                                                                  -                          2              N                                                                                                            1            -                          2              N                                            ]  This simplification results in the signal flow diagram in FIG. 2. One can see from this simplification that the numbers of feedback paths are reduced from N2 to N+1. Rather than every delayed output feeding back and summing with every delay input, each delay has local feedback weighted by A and summed with the sum of all delay outputs weighted by −2A/N. In Jot's embodiment, the value A is not shown but may be inferred to be included in the transfer function Hi(z). Jot remarks that this embodiment results in a “spurious echo” at a period equal to the sum of delays z−mi, which may be suppressed by selectively inverting the polarity of values within the input injection vector b or output mix vector c.
Distinctions can be made between Jot's embodiments and the present art. Jot's embodiments specify that the input signal is summed (with selective polarity inversions) into the inputs of all of the delay element inputs, and the outputs of all delay elements are summed (again, with selective polarity inversions). Furthermore, Jot's embodiments claim a means of attenuation vs. frequency for each delayed signal that is “proportional to each delay and inversely proportional to reverberation time.” Jot's method and system also explicitly processes “a digital audio signal” and is silent about the use of an analog processing means or partial analog implementations thereof.
Frenette (J. Frenette, “Reducing Artificial Reverberation Requirements Using Time-Variant Feedback Delay Networks,” http://mue.music.miami.edu/thesis/jasmin_frenette/, Masters Thesis, University of Miami, December 2000.) implements a digital software-based reverberator using Jot's embodiment of FIG. 2 using time-varying delay lengths. Frenette suggested that at least eight delay lines were needed for satisfactory echo density. This particular implementation computes the feedback matrix G using a circular permutation matrix JN. The input signal is summed into the inputs of all delay elements and derives a stereo output by using an N-by-2 matrix for c with the following repeating sequence:
  c  =      [                            1                          1                                                  -            1                                    1                                      1                                      -            1                                                            -            1                                                -            1                                                ⋮                          ⋮                      ]  Frenette examines different modulation waveform shapes, amplitudes and frequencies; and generally concludes that sinusoidal modulation with a frequency of 2 Hz and amplitude of 6 samples produces good results with minimal audible pitch change. Furthermore, a phase difference between the modulation waveform of each delay line reduces the audibility of pitch change in the reverberation tail. During listening tests, Frenette's 8-delay reverberator with 4 modulated delay lines was found to sound better than a 12-delay reverberator with no modulation.
As with Jot's embodiments, Frenette focuses exclusively on processing digital audio. Furthermore, the elements of the injection vector bi and mix vector ci all have a magnitude of 1. While this may maximize initial echo density, no study was given to how different values may affect subjective sound quality. While Frenette places some emphasis on processing efficiency, the goal is a high-quality reverberator suitable for use with a wide range of audio signals. The resulting implementation of Frenette requires a fairly substantial amount of digital processing resources. No study is given to how few delay lines are required for “adequate” sound quality.
There has been much progress in developing efficient reverberation algorithms; however, these algorithms are designed for implementation with digital electronics that is often too costly for the most cost-sensitive applications. Accordingly, there is a need for an apparatus that has the superior sound quality and small size of a digital reverberator with the low cost of a spring reverberator. For the preferred embodiment, the present art implements a high quality reverberator via integrated delay circuits in conjunction with the appropriate summing amplifiers, weighted feedback, and filters.
Accordingly, it is an object of the present invention to provide an apparatus and method for artificial reverberation which economically implements multi-dimensional or multi-delay reverberation within a small and easily assembled form.
Another object of the present invention is to provide an apparatus and method for artificial reverberation which may be quickly and easily utilized in any reverberation application with a minimum of engineering effort.
A further object of the present invention is to provide an apparatus and method for artificial reverberation which does not require the significant memory resources of digital signal processor reverberation designs yet allows for user delay and feedback weight adjustment.